<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>
        // 定义数组
        var arr = [80,60,30,50,20];
        // 基本思想：
            // 将无序数组中的数据，通过条件判断插入到有序数组中
        
        // 定义计数器变量
        var count = 0;
        // 外部循环
        for(var i = 0 ; i < arr.length ; i ++){
            // 定义索引值 (有序的下标)
            var j = i - 1;
            // 定义变量 记录假设的数值
            var temp = arr[i];
            // 内部循环
            while(j >= 0 && temp < arr[j]){
                // 把较大的数值往后设置
                arr[j + 1] = arr[j];
                // 计算插入数据的下标
                j --;
                // 自增一
                count ++; 
            }
            // 插入的数据
            arr[j +1 ] = temp;
        }

        // 打印排序完成的数组
        console.log(arr);// [20, 30, 50, 60, 80]
        console.log("总执多少次:",count);// 9



        var res = [100 , 230 , 80 , 10 , 50];
        var count = 0 ; 
        for(i=0 ; i <res.length ; i ++) {
            var j = i - 1 ;
            var rext = res[i];
            while(j >=0 && rext < res[j]) {
                res[j+1] = res[j];
                j -- ;
                count ++; 
            }
            res[j+1] = rext; 
        }

        console.log(res);
        console.log("总共循环多少次" , count);
    </script>
</body>
</html>